package com.ouc.dataMange.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ouc.common.annotation.Excel;
import com.ouc.common.core.domain.BaseEntity;
import com.ouc.common.utils.excel.ExcelImport;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * sys_data_ship对象 sys_data_ship
 *
 * @author ouc
 * @date 2025-08-04
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SysDataShip extends BaseEntity {
  private static final long serialVersionUID = 1L;

  /**
   * 舰船id
   */
  private Integer id;

  /**
   * 舰船类型
   */
  @ExcelImport("舰船类型")
  @Excel(name = "舰船类型")
  private Integer shipType;

  /**
   * 舰船权限等级
   */
  @ExcelImport("舰船权限等级")
  @Excel(name = "舰船权限等级")
  private Integer shipVip;

  /**
   * 船舶RAO文件路径
   */
  @ExcelImport("船舶RAO文件路径")
  @Excel(name = "船舶RAO文件路径")
  private String shipRaoPath;

  /**
   * 船舶装备信息文件路径
   */
  @ExcelImport("船舶装备信息文件路径")
  @Excel(name = "船舶装备信息文件路径")
  private String shipEquipPath;

  /**
   * IMO编号
   */
  @ExcelImport("IMO编号")
  @Excel(name = "IMO编号")
  private Integer imoNumber;

  /**
   * 中文名称
   */
  @ExcelImport("中文名称")
  @Excel(name = "中文名称")
  private String chineseName;

  /**
   * 英文名称
   */
  @ExcelImport("英文名称")
  @Excel(name = "英文名称")
  private String englishName;

  /**
   * 所属国家
   */
  @ExcelImport("所属国家")
  @Excel(name = "所属国家")
  private String shipCountry;

  /**
   * 下水时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd")
  @ExcelImport("下水时间")
  @Excel(name = "下水时间", width = 30, dateFormat = "yyyy-MM-dd")
  private Date launchDate;

  /**
   * 总长度
   */
  @ExcelImport("总长度")
  @Excel(name = "总长度")
  private Double shipAllLength;

  /**
   * 船宽
   */
  @ExcelImport("船宽")
  @Excel(name = "船宽")
  private Double shipBeam;

  /**
   * 船深
   */
  @ExcelImport("船深")
  @Excel(name = "船深")
  private Double shipDepth;

  /**
   * 吃水深度
   */
  @ExcelImport("吃水深度")
  @Excel(name = "吃水深度")
  private Double shipDraft;

  /**
   * 标准排水量
   */
  @ExcelImport("标准排水量")
  @Excel(name = "标准排水量")
  private Double shipDisplacement;

  /**
   * 船型
   */
  @ExcelImport("船型")
  @Excel(name = "船型")
  private String shipHullForm;

  /**
   * 最大航速
   */
  @ExcelImport("最大航速")
  @Excel(name = "最大航速")
  private Double maxSpeed;

  /**
   * 经济航速
   */
  @ExcelImport("经济航速")
  @Excel(name = "经济航速")
  private Double cruisingSpeed;

  /**
   * 续航能力
   */
  @ExcelImport("续航能力")
  @Excel(name = "续航能力")
  private Double shipRange;

  /**
   * 续航时间
   */
  @ExcelImport("续航时间")
  @Excel(name = "续航时间")
  private Integer shipEndurance;

  private String raoFileName;
}
